<?xml version="1.0" encoding="utf-8"?>
<xs:schema xmlns:tns="http://schemas.microsoft.com/TeamFoundation/2007/02/TCM/TestResults/01" elementFormDefault="qualified" targetNamespace="http://schemas.microsoft.com/TeamFoundation/2007/02/TCM/TestResults/01" id="schema3" xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:import namespace="http://microsoft.com/wsdl/types/" />
  <xs:element name="QueryDefaultStrips">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" maxOccurs="1" name="testCaseIds" type="tns:ArrayOfInt" />
        <xs:element minOccurs="0" maxOccurs="1" name="projectName" type="xs:string" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:complexType name="ArrayOfInt">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="int" type="xs:int" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="QueryDefaultStripsResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" maxOccurs="1" name="QueryDefaultStripsResult" type="tns:ArrayOfTestResultAttachment" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:complexType name="ArrayOfTestResultAttachment">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="TestResultAttachment" nillable="true" type="tns:TestResultAttachment" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="TestResultAttachment">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="1" name="Comment" type="xs:string" />
    </xs:sequence>
    <xs:attribute name="Id" type="xs:int" use="required" />
    <xs:attribute name="FileName" type="xs:string" />
    <xs:attribute name="AttachmentType" type="xs:string" />
    <xs:attribute name="TestRunId" type="xs:int" use="required" />
    <xs:attribute name="TestResultId" type="xs:int" use="required" />
    <xs:attribute name="CreationDate" type="xs:dateTime" use="required" />
    <xs:attribute name="Length" type="xs:long" use="required" />
    <xs:attribute default="0" name="IterationId" type="xs:int" />
    <xs:attribute name="ActionPath" type="xs:string" />
    <xs:attribute default="true" name="IsComplete" type="xs:boolean" />
    <xs:attribute xmlns:q1="http://microsoft.com/wsdl/types/" name="TmiRunId" type="q1:guid" use="required" />
  </xs:complexType>
  <xs:element name="QueryAttachments">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" maxOccurs="1" name="query" type="tns:ResultsStoreQuery" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:complexType name="ResultsStoreQuery">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="1" name="QueryText" type="xs:string" />
      <xs:element minOccurs="1" maxOccurs="1" name="DayPrecision" type="xs:boolean" />
      <xs:element minOccurs="0" maxOccurs="1" name="TimeZone" type="xs:string" />
      <xs:element minOccurs="0" maxOccurs="1" name="TeamProjectName" type="xs:string" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="QueryAttachmentsResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" maxOccurs="1" name="QueryAttachmentsResult" type="tns:ArrayOfTestResultAttachment" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="QueryTestResultAttachments">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" maxOccurs="1" name="identifier" type="tns:TestCaseResultIdentifier" />
        <xs:element minOccurs="0" maxOccurs="1" name="projectName" type="xs:string" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:complexType name="TestCaseResultIdentifier">
    <xs:attribute name="TestRunId" type="xs:int" use="required" />
    <xs:attribute name="TestResultId" type="xs:int" use="required" />
  </xs:complexType>
  <xs:element name="QueryTestResultAttachmentsResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" maxOccurs="1" name="QueryTestResultAttachmentsResult" type="tns:ArrayOfTestResultAttachment" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="QueryTestRunAttachments">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="1" maxOccurs="1" name="testRunId" type="xs:int" />
        <xs:element minOccurs="0" maxOccurs="1" name="projectName" type="xs:string" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="QueryTestRunAttachmentsResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" maxOccurs="1" name="QueryTestRunAttachmentsResult" type="tns:ArrayOfTestResultAttachment" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="UpdateDefaultStrips">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" maxOccurs="1" name="afnStripBindingList" type="tns:ArrayOfDefaultAfnStripBinding" />
        <xs:element minOccurs="0" maxOccurs="1" name="projectName" type="xs:string" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:complexType name="ArrayOfDefaultAfnStripBinding">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="DefaultAfnStripBinding" nillable="true" type="tns:DefaultAfnStripBinding" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="DefaultAfnStripBinding">
    <xs:attribute name="TestCaseId" type="xs:int" use="required" />
    <xs:attribute name="TestRunId" type="xs:int" use="required" />
    <xs:attribute name="TestResultId" type="xs:int" use="required" />
  </xs:complexType>
  <xs:element name="UpdateDefaultStripsResponse">
    <xs:complexType />
  </xs:element>
  <xs:element name="CreateBugFieldMapping">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" maxOccurs="1" name="bugFieldMapping" type="tns:BugFieldMapping" />
        <xs:element minOccurs="0" maxOccurs="1" name="teamProjectName" type="xs:string" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:complexType name="BugFieldMapping">
    <xs:attribute xmlns:q2="http://microsoft.com/wsdl/types/" name="CreatedBy" type="q2:guid" use="required" />
    <xs:attribute name="CreatedDate" type="xs:dateTime" use="required" />
    <xs:attribute name="FieldMapping" type="xs:string" />
    <xs:attribute xmlns:q3="http://microsoft.com/wsdl/types/" name="LastUpdatedBy" type="q3:guid" use="required" />
    <xs:attribute default="0001-01-01T00:00:00" name="LastUpdated" type="xs:dateTime" />
    <xs:attribute default="0" name="Revision" type="xs:int" />
  </xs:complexType>
  <xs:element name="CreateBugFieldMappingResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" maxOccurs="1" name="CreateBugFieldMappingResult" type="tns:UpdatedProperties" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:complexType name="UpdatedProperties">
    <xs:attribute name="Id" type="xs:int" use="required" />
    <xs:attribute name="Revision" type="xs:int" use="required" />
    <xs:attribute name="LastUpdated" type="xs:dateTime" use="required" />
    <xs:attribute xmlns:q4="http://microsoft.com/wsdl/types/" name="LastUpdatedBy" type="q4:guid" use="required" />
  </xs:complexType>
  <xs:element name="QueryBugFieldMapping">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" maxOccurs="1" name="projectName" type="xs:string" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="QueryBugFieldMappingResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" maxOccurs="1" name="QueryBugFieldMappingResult" type="tns:BugFieldMapping" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="UpdateBugFieldMapping">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" maxOccurs="1" name="bugFieldMapping" type="tns:BugFieldMapping" />
        <xs:element minOccurs="0" maxOccurs="1" name="projectName" type="xs:string" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="UpdateBugFieldMappingResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" maxOccurs="1" name="UpdateBugFieldMappingResult" type="tns:UpdatedProperties" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="DeleteBuild">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" maxOccurs="1" name="projectName" type="xs:string" />
        <xs:element minOccurs="0" maxOccurs="1" name="buildUri" type="xs:string" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="DeleteBuildResponse">
    <xs:complexType />
  </xs:element>
  <xs:element name="CreateTestConfiguration">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" maxOccurs="1" name="testConfiguration" type="tns:TestConfiguration" />
        <xs:element minOccurs="0" maxOccurs="1" name="teamProjectName" type="xs:string" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:complexType name="TestConfiguration">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="1" name="Values" type="tns:ArrayOfNameValuePair" />
    </xs:sequence>
    <xs:attribute default="0" name="Id" type="xs:int" />
    <xs:attribute name="Name" type="xs:string" />
    <xs:attribute name="Description" type="xs:string" />
    <xs:attribute xmlns:q5="http://microsoft.com/wsdl/types/" name="LastUpdatedBy" type="q5:guid" use="required" />
    <xs:attribute default="0001-01-01T00:00:00" name="LastUpdated" type="xs:dateTime" />
    <xs:attribute name="AreaPath" type="xs:string" />
    <xs:attribute name="IsDefault" type="xs:boolean" use="required" />
    <xs:attribute default="0" name="Revision" type="xs:int" />
    <xs:attribute default="0" name="State" type="xs:unsignedByte" />
  </xs:complexType>
  <xs:complexType name="ArrayOfNameValuePair">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="NameValuePair" nillable="true" type="tns:NameValuePair" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="NameValuePair">
    <xs:attribute name="Name" type="xs:string" />
    <xs:attribute name="Value" type="xs:string" />
  </xs:complexType>
  <xs:element name="CreateTestConfigurationResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" maxOccurs="1" name="CreateTestConfigurationResult" type="tns:TestConfiguration" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="DeleteTestConfiguration">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="1" maxOccurs="1" name="testConfigurationId" type="xs:int" />
        <xs:element minOccurs="0" maxOccurs="1" name="projectName" type="xs:string" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="DeleteTestConfigurationResponse">
    <xs:complexType />
  </xs:element>
  <xs:element name="QueryTestConfigurationById">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="1" maxOccurs="1" name="testConfigurationId" type="xs:int" />
        <xs:element minOccurs="0" maxOccurs="1" name="projectName" type="xs:string" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="QueryTestConfigurationByIdResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" maxOccurs="1" name="QueryTestConfigurationByIdResult" type="tns:TestConfiguration" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="QueryTestConfigurations">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" maxOccurs="1" name="query" type="tns:ResultsStoreQuery" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="QueryTestConfigurationsResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" maxOccurs="1" name="QueryTestConfigurationsResult" type="tns:ArrayOfTestConfiguration" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:complexType name="ArrayOfTestConfiguration">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="TestConfiguration" nillable="true" type="tns:TestConfiguration" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="QueryTestConfigurationsCount">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" maxOccurs="1" name="query" type="tns:ResultsStoreQuery" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="QueryTestConfigurationsCountResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="1" maxOccurs="1" name="QueryTestConfigurationsCountResult" type="xs:int" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="UpdateTestConfiguration">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" maxOccurs="1" name="testConfiguration" type="tns:TestConfiguration" />
        <xs:element minOccurs="0" maxOccurs="1" name="projectName" type="xs:string" />
        <xs:element minOccurs="1" maxOccurs="1" name="updateInUse" type="xs:boolean" />
        <xs:element minOccurs="1" maxOccurs="1" name="unchangedValues" type="xs:boolean" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="UpdateTestConfigurationResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" maxOccurs="1" name="UpdateTestConfigurationResult" type="tns:UpdatedProperties" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="CreateTestVariable">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" maxOccurs="1" name="variable" type="tns:TestVariable" />
        <xs:element minOccurs="0" maxOccurs="1" name="teamProjectName" type="xs:string" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:complexType name="TestVariable">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="1" name="Values" type="tns:ArrayOfString" />
    </xs:sequence>
    <xs:attribute name="Id" type="xs:int" use="required" />
    <xs:attribute name="Name" type="xs:string" />
    <xs:attribute name="Description" type="xs:string" />
    <xs:attribute name="Revision" type="xs:int" use="required" />
  </xs:complexType>
  <xs:complexType name="ArrayOfString">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="string" nillable="true" type="xs:string" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="CreateTestVariableResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="1" maxOccurs="1" name="CreateTestVariableResult" type="xs:int" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="UpdateTestVariable">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" maxOccurs="1" name="variable" type="tns:TestVariable" />
        <xs:element minOccurs="0" maxOccurs="1" name="projectName" type="xs:string" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="UpdateTestVariableResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="1" maxOccurs="1" name="UpdateTestVariableResult" type="xs:int" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="DeleteTestVariable">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="1" maxOccurs="1" name="variableId" type="xs:int" />
        <xs:element minOccurs="0" maxOccurs="1" name="projectName" type="xs:string" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="DeleteTestVariableResponse">
    <xs:complexType />
  </xs:element>
  <xs:element name="QueryTestVariableById">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="1" maxOccurs="1" name="variableId" type="xs:int" />
        <xs:element minOccurs="0" maxOccurs="1" name="projectName" type="xs:string" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="QueryTestVariableByIdResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" maxOccurs="1" name="QueryTestVariableByIdResult" type="tns:TestVariable" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="QueryTestVariables">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" maxOccurs="1" name="teamProjectName" type="xs:string" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="QueryTestVariablesResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" maxOccurs="1" name="QueryTestVariablesResult" type="tns:ArrayOfTestVariable" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:complexType name="ArrayOfTestVariable">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="TestVariable" nillable="true" type="tns:TestVariable" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="CreateTestSettings">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" maxOccurs="1" name="settings" type="tns:TestSettings" />
        <xs:element minOccurs="0" maxOccurs="1" name="teamProjectName" type="xs:string" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:complexType name="TestSettings">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="1" name="MachineRoles" type="tns:ArrayOfTestSettingsMachineRole" />
    </xs:sequence>
    <xs:attribute default="0" name="Id" type="xs:int" />
    <xs:attribute name="Name" type="xs:string" />
    <xs:attribute name="Description" type="xs:string" />
    <xs:attribute xmlns:q6="http://microsoft.com/wsdl/types/" name="CreatedBy" type="q6:guid" use="required" />
    <xs:attribute name="CreatedDate" type="xs:dateTime" use="required" />
    <xs:attribute name="IsPublic" type="xs:boolean" use="required" />
    <xs:attribute name="IsAutomated" type="xs:boolean" use="required" />
    <xs:attribute name="Settings" type="xs:string" />
    <xs:attribute name="AreaPath" type="xs:string" />
    <xs:attribute xmlns:q7="http://microsoft.com/wsdl/types/" name="LastUpdatedBy" type="q7:guid" use="required" />
    <xs:attribute default="0001-01-01T00:00:00" name="LastUpdated" type="xs:dateTime" />
    <xs:attribute default="0" name="Revision" type="xs:int" />
  </xs:complexType>
  <xs:complexType name="ArrayOfTestSettingsMachineRole">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="TestSettingsMachineRole" nillable="true" type="tns:TestSettingsMachineRole" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="TestSettingsMachineRole">
    <xs:attribute name="Name" type="xs:string" />
    <xs:attribute default="false" name="IsExecution" type="xs:boolean" />
  </xs:complexType>
  <xs:element name="CreateTestSettingsResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" maxOccurs="1" name="CreateTestSettingsResult" type="tns:UpdatedProperties" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="UpdateTestSettings">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" maxOccurs="1" name="settings" type="tns:TestSettings" />
        <xs:element minOccurs="0" maxOccurs="1" name="projectName" type="xs:string" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="UpdateTestSettingsResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" maxOccurs="1" name="UpdateTestSettingsResult" type="tns:UpdatedProperties" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="DeleteTestSettings">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="1" maxOccurs="1" name="settingsId" type="xs:int" />
        <xs:element minOccurs="0" maxOccurs="1" name="projectName" type="xs:string" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="DeleteTestSettingsResponse">
    <xs:complexType />
  </xs:element>
  <xs:element name="QueryTestSettingsById">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="1" maxOccurs="1" name="settingsId" type="xs:int" />
        <xs:element minOccurs="0" maxOccurs="1" name="projectName" type="xs:string" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="QueryTestSettingsByIdResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" maxOccurs="1" name="QueryTestSettingsByIdResult" type="tns:TestSettings" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="QueryTestSettings">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" maxOccurs="1" name="query" type="tns:ResultsStoreQuery" />
        <xs:element minOccurs="1" maxOccurs="1" name="omitSettings" type="xs:boolean" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="QueryTestSettingsResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" maxOccurs="1" name="QueryTestSettingsResult" type="tns:ArrayOfTestSettings" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:complexType name="ArrayOfTestSettings">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="TestSettings" nillable="true" type="tns:TestSettings" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="QueryTestSettingsCount">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" maxOccurs="1" name="query" type="tns:ResultsStoreQuery" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="QueryTestSettingsCountResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="1" maxOccurs="1" name="QueryTestSettingsCountResult" type="xs:int" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="CreateTestResolutionState">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" maxOccurs="1" name="resolutionState" type="tns:TestResolutionState" />
        <xs:element minOccurs="0" maxOccurs="1" name="teamProjectName" type="xs:string" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:complexType name="TestResolutionState">
    <xs:attribute default="0" name="Id" type="xs:int" />
    <xs:attribute name="Name" type="xs:string" />
    <xs:attribute name="TeamProject" type="xs:string" />
  </xs:complexType>
  <xs:element name="CreateTestResolutionStateResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="1" maxOccurs="1" name="CreateTestResolutionStateResult" type="xs:int" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="UpdateTestResolutionState">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" maxOccurs="1" name="state" type="tns:TestResolutionState" />
        <xs:element minOccurs="0" maxOccurs="1" name="projectName" type="xs:string" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="UpdateTestResolutionStateResponse">
    <xs:complexType />
  </xs:element>
  <xs:element name="DeleteTestResolutionState">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="1" maxOccurs="1" name="stateId" type="xs:int" />
        <xs:element minOccurs="0" maxOccurs="1" name="projectName" type="xs:string" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="DeleteTestResolutionStateResponse">
    <xs:complexType />
  </xs:element>
  <xs:element name="QueryTestResolutionStateById">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="1" maxOccurs="1" name="testResolutionStateId" type="xs:int" />
        <xs:element minOccurs="0" maxOccurs="1" name="projectName" type="xs:string" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="QueryTestResolutionStateByIdResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" maxOccurs="1" name="QueryTestResolutionStateByIdResult" type="tns:ArrayOfTestResolutionState" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:complexType name="ArrayOfTestResolutionState">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="TestResolutionState" nillable="true" type="tns:TestResolutionState" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="QueryTestResolutionStates">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" maxOccurs="1" name="teamProject" type="xs:string" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="QueryTestResolutionStatesResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" maxOccurs="1" name="QueryTestResolutionStatesResult" type="tns:ArrayOfTestResolutionState" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="RegisterCollectors">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" maxOccurs="1" name="collectors" type="tns:ArrayOfDataCollectorInformation" />
        <xs:element xmlns:q8="http://microsoft.com/wsdl/types/" minOccurs="1" maxOccurs="1" name="teamProjectCollectionCatalogResourceId" type="q8:guid" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:complexType name="ArrayOfDataCollectorInformation">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="DataCollectorInformation" nillable="true" type="tns:DataCollectorInformation" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="DataCollectorInformation">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="1" name="DefaultConfiguration">
        <xs:complexType mixed="true">
          <xs:sequence>
            <xs:any />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element minOccurs="0" maxOccurs="1" name="ConfigurationEditorConfiguration">
        <xs:complexType mixed="true">
          <xs:sequence>
            <xs:any />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element minOccurs="0" maxOccurs="1" name="Properties" type="tns:ArrayOfNameValuePair" />
    </xs:sequence>
    <xs:attribute xmlns:q9="http://microsoft.com/wsdl/types/" name="Id" type="q9:guid" use="required" />
    <xs:attribute name="TypeUri" type="xs:string" />
    <xs:attribute name="Description" type="xs:string" />
  </xs:complexType>
  <xs:element name="RegisterCollectorsResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" maxOccurs="1" name="RegisterCollectorsResult" type="tns:ArrayOfDataCollectorInformation" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="UnregisterCollectors">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" maxOccurs="1" name="collectors" type="tns:ArrayOfDataCollectorInformation" />
        <xs:element xmlns:q10="http://microsoft.com/wsdl/types/" minOccurs="1" maxOccurs="1" name="teamProjectCollectionCatalogResourceId" type="q10:guid" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="UnregisterCollectorsResponse">
    <xs:complexType />
  </xs:element>
  <xs:element name="UpdateCollectors">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" maxOccurs="1" name="collectors" type="tns:ArrayOfDataCollectorInformation" />
        <xs:element xmlns:q11="http://microsoft.com/wsdl/types/" minOccurs="1" maxOccurs="1" name="teamProjectCollectionCatalogResourceId" type="q11:guid" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="UpdateCollectorsResponse">
    <xs:complexType />
  </xs:element>
  <xs:element name="QueryCollectors">
    <xs:complexType>
      <xs:sequence>
        <xs:element xmlns:q12="http://microsoft.com/wsdl/types/" minOccurs="1" maxOccurs="1" name="teamProjectCollectionCatalogResourceId" type="q12:guid" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="QueryCollectorsResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" maxOccurs="1" name="QueryCollectorsResult" type="tns:ArrayOfDataCollectorInformation" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="FindCollector">
    <xs:complexType>
      <xs:sequence>
        <xs:element xmlns:q13="http://microsoft.com/wsdl/types/" minOccurs="1" maxOccurs="1" name="teamProjectCollectionCatalogResourceId" type="q13:guid" />
        <xs:element minOccurs="0" maxOccurs="1" name="typeUri" type="xs:string" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="FindCollectorResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" maxOccurs="1" name="FindCollectorResult" type="tns:DataCollectorInformation" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="RegisterControllers">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" maxOccurs="1" name="controllers" type="tns:ArrayOfTestController" />
        <xs:element xmlns:q14="http://microsoft.com/wsdl/types/" minOccurs="1" maxOccurs="1" name="teamProjectCollectionCatalogResourceId" type="q14:guid" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:complexType name="ArrayOfTestController">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="TestController" nillable="true" type="tns:TestController" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="TestController">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="1" name="Properties" type="tns:ArrayOfNameValuePair" />
    </xs:sequence>
    <xs:attribute name="Name" type="xs:string" />
    <xs:attribute name="Description" type="xs:string" />
    <xs:attribute name="GroupId" type="xs:string" />
  </xs:complexType>
  <xs:element name="RegisterControllersResponse">
    <xs:complexType />
  </xs:element>
  <xs:element name="UnregisterControllers">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" maxOccurs="1" name="controllers" type="tns:ArrayOfTestController" />
        <xs:element xmlns:q15="http://microsoft.com/wsdl/types/" minOccurs="1" maxOccurs="1" name="teamProjectCollectionCatalogResourceId" type="q15:guid" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="UnregisterControllersResponse">
    <xs:complexType />
  </xs:element>
  <xs:element name="UpdateControllers">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" maxOccurs="1" name="controllers" type="tns:ArrayOfTestController" />
        <xs:element xmlns:q16="http://microsoft.com/wsdl/types/" minOccurs="1" maxOccurs="1" name="teamProjectCollectionCatalogResourceId" type="q16:guid" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="UpdateControllersResponse">
    <xs:complexType />
  </xs:element>
  <xs:element name="QueryControllers">
    <xs:complexType>
      <xs:sequence>
        <xs:element xmlns:q17="http://microsoft.com/wsdl/types/" minOccurs="1" maxOccurs="1" name="teamProjectCollectionCatalogResourceId" type="q17:guid" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="QueryControllersResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" maxOccurs="1" name="QueryControllersResult" type="tns:ArrayOfTestController" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="QueryControllersByGroupId">
    <xs:complexType>
      <xs:sequence>
        <xs:element xmlns:q18="http://microsoft.com/wsdl/types/" minOccurs="1" maxOccurs="1" name="teamProjectCollectionCatalogResourceId" type="q18:guid" />
        <xs:element minOccurs="0" maxOccurs="1" name="groupId" type="xs:string" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="QueryControllersByGroupIdResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" maxOccurs="1" name="QueryControllersByGroupIdResult" type="tns:ArrayOfTestController" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="FindController">
    <xs:complexType>
      <xs:sequence>
        <xs:element xmlns:q19="http://microsoft.com/wsdl/types/" minOccurs="1" maxOccurs="1" name="teamProjectCollectionCatalogResourceId" type="q19:guid" />
        <xs:element minOccurs="0" maxOccurs="1" name="controllerName" type="xs:string" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="FindControllerResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" maxOccurs="1" name="FindControllerResult" type="tns:TestController" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="RegisterEnvironments">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" maxOccurs="1" name="environments" type="tns:ArrayOfTestEnvironment" />
        <xs:element minOccurs="0" maxOccurs="1" name="parentName" type="xs:string" />
        <xs:element minOccurs="1" maxOccurs="1" name="parentType" type="tns:EnvironmentParentTypes" />
        <xs:element xmlns:q20="http://microsoft.com/wsdl/types/" minOccurs="1" maxOccurs="1" name="teamProjectCollectionCatalogResourceId" type="q20:guid" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:complexType name="ArrayOfTestEnvironment">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="TestEnvironment" nillable="true" type="tns:TestEnvironment" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="TestEnvironment">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="1" name="Properties" type="tns:ArrayOfNameValuePair" />
      <xs:element minOccurs="0" maxOccurs="1" name="MachineRoles" type="tns:ArrayOfMachineRole" />
    </xs:sequence>
    <xs:attribute xmlns:q21="http://microsoft.com/wsdl/types/" name="Id" type="q21:guid" use="required" />
    <xs:attribute name="Name" type="xs:string" />
    <xs:attribute name="Description" type="xs:string" />
    <xs:attribute name="ProjectName" type="xs:string" />
    <xs:attribute name="ControllerName" type="xs:string" />
    <xs:attribute name="ControllerDisplayName" type="xs:string" />
  </xs:complexType>
  <xs:complexType name="ArrayOfMachineRole">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="MachineRole" nillable="true" type="tns:MachineRole" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="MachineRole">
    <xs:attribute xmlns:q22="http://microsoft.com/wsdl/types/" name="Id" type="q22:guid" use="required" />
    <xs:attribute name="Name" type="xs:string" />
  </xs:complexType>
  <xs:simpleType name="EnvironmentParentTypes">
    <xs:restriction base="xs:string">
      <xs:enumeration value="TeamProject" />
      <xs:enumeration value="TestController" />
    </xs:restriction>
  </xs:simpleType>
  <xs:element name="RegisterEnvironmentsResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" maxOccurs="1" name="RegisterEnvironmentsResult" type="tns:ArrayOfTestEnvironment" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="UnregisterEnvironments">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" maxOccurs="1" name="environments" type="tns:ArrayOfTestEnvironment" />
        <xs:element minOccurs="0" maxOccurs="1" name="parentName" type="xs:string" />
        <xs:element minOccurs="1" maxOccurs="1" name="parentType" type="tns:EnvironmentParentTypes" />
        <xs:element xmlns:q23="http://microsoft.com/wsdl/types/" minOccurs="1" maxOccurs="1" name="teamProjectCollectionCatalogResourceId" type="q23:guid" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="UnregisterEnvironmentsResponse">
    <xs:complexType />
  </xs:element>
  <xs:element name="UpdateEnvironments">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" maxOccurs="1" name="environments" type="tns:ArrayOfTestEnvironment" />
        <xs:element minOccurs="0" maxOccurs="1" name="parentName" type="xs:string" />
        <xs:element minOccurs="1" maxOccurs="1" name="parentType" type="tns:EnvironmentParentTypes" />
        <xs:element xmlns:q24="http://microsoft.com/wsdl/types/" minOccurs="1" maxOccurs="1" name="teamProjectCollectionCatalogResourceId" type="q24:guid" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="UpdateEnvironmentsResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" maxOccurs="1" name="UpdateEnvironmentsResult" type="tns:ArrayOfTestEnvironment" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="QueryEnvironments">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" maxOccurs="1" name="parentName" type="xs:string" />
        <xs:element minOccurs="1" maxOccurs="1" name="parentType" type="tns:EnvironmentParentTypes" />
        <xs:element xmlns:q25="http://microsoft.com/wsdl/types/" minOccurs="1" maxOccurs="1" name="teamProjectCollectionCatalogResourceId" type="q25:guid" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="QueryEnvironmentsResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" maxOccurs="1" name="QueryEnvironmentsResult" type="tns:ArrayOfTestEnvironment" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="FindEnvironment">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" maxOccurs="1" name="parentName" type="xs:string" />
        <xs:element minOccurs="1" maxOccurs="1" name="parentType" type="tns:EnvironmentParentTypes" />
        <xs:element xmlns:q26="http://microsoft.com/wsdl/types/" minOccurs="1" maxOccurs="1" name="environmentId" type="q26:guid" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="FindEnvironmentResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" maxOccurs="1" name="FindEnvironmentResult" type="tns:TestEnvironment" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="QueryBuildCoverage">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" maxOccurs="1" name="projectName" type="xs:string" />
        <xs:element minOccurs="0" maxOccurs="1" name="buildUri" type="xs:string" />
        <xs:element minOccurs="1" maxOccurs="1" name="flags" type="xs:int" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="QueryBuildCoverageResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" maxOccurs="1" name="QueryBuildCoverageResult" type="tns:ArrayOfBuildCoverage" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:complexType name="ArrayOfBuildCoverage">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="BuildCoverage" nillable="true" type="tns:BuildCoverage" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="BuildCoverage">
    <xs:complexContent mixed="false">
      <xs:extension base="tns:Coverage">
        <xs:sequence>
          <xs:element minOccurs="0" maxOccurs="1" name="Configuration" type="tns:BuildConfiguration" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="Coverage">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="1" name="LastError" type="xs:string" />
      <xs:element minOccurs="0" maxOccurs="1" name="Modules" type="tns:ArrayOfModuleCoverage" />
    </xs:sequence>
    <xs:attribute name="State" type="xs:unsignedByte" use="required" />
  </xs:complexType>
  <xs:complexType name="ArrayOfModuleCoverage">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="ModuleCoverage" nillable="true" type="tns:ModuleCoverage" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="ModuleCoverage">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="1" name="BlockData" type="xs:base64Binary" />
      <xs:element minOccurs="0" maxOccurs="1" name="Statistics" type="tns:CoverageStatistics" />
      <xs:element minOccurs="0" maxOccurs="1" name="Functions" type="tns:ArrayOfFunctionCoverage" />
    </xs:sequence>
    <xs:attribute xmlns:q27="http://microsoft.com/wsdl/types/" name="Signature" type="q27:guid" use="required" />
    <xs:attribute name="SignatureAge" type="xs:int" use="required" />
    <xs:attribute name="Name" type="xs:string" />
    <xs:attribute name="BlockCount" type="xs:int" use="required" />
  </xs:complexType>
  <xs:complexType name="CoverageStatistics">
    <xs:attribute name="LinesCovered" type="xs:int" use="required" />
    <xs:attribute name="LinesNotCovered" type="xs:int" use="required" />
    <xs:attribute name="LinesPartiallyCovered" type="xs:int" use="required" />
    <xs:attribute name="BlocksCovered" type="xs:int" use="required" />
    <xs:attribute name="BlocksNotCovered" type="xs:int" use="required" />
  </xs:complexType>
  <xs:complexType name="ArrayOfFunctionCoverage">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="FunctionCoverage" nillable="true" type="tns:FunctionCoverage" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="FunctionCoverage">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="1" name="Statistics" type="tns:CoverageStatistics" />
    </xs:sequence>
    <xs:attribute name="Namespace" type="xs:string" />
    <xs:attribute name="Class" type="xs:string" />
    <xs:attribute name="Name" type="xs:string" />
    <xs:attribute name="SourceFile" type="xs:string" />
  </xs:complexType>
  <xs:complexType name="TestRunCoverage">
    <xs:complexContent mixed="false">
      <xs:extension base="tns:Coverage">
        <xs:attribute name="TestRunId" type="xs:int" use="required" />
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="BuildConfiguration">
    <xs:attribute name="BuildConfigurationId" type="xs:int" use="required" />
    <xs:attribute name="TeamProjectName" type="xs:string" />
    <xs:attribute name="BuildUri" type="xs:string" />
    <xs:attribute name="BuildFlavor" type="xs:string" />
    <xs:attribute name="BuildPlatform" type="xs:string" />
  </xs:complexType>
  <xs:element name="QueryTestRunCoverage">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" maxOccurs="1" name="projectName" type="xs:string" />
        <xs:element minOccurs="1" maxOccurs="1" name="testRunId" type="xs:int" />
        <xs:element minOccurs="1" maxOccurs="1" name="flags" type="xs:int" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="QueryTestRunCoverageResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" maxOccurs="1" name="QueryTestRunCoverageResult" type="tns:ArrayOfTestRunCoverage" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:complexType name="ArrayOfTestRunCoverage">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="TestRunCoverage" nillable="true" type="tns:TestRunCoverage" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="QueryImpactedPointsForPlan">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" maxOccurs="1" name="teamProjectName" type="xs:string" />
        <xs:element minOccurs="1" maxOccurs="1" name="planId" type="xs:int" />
        <xs:element minOccurs="0" maxOccurs="1" name="buildUri" type="xs:string" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="QueryImpactedPointsForPlanResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" maxOccurs="1" name="QueryImpactedPointsForPlanResult" type="tns:ArrayOfImpactedPoint" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:complexType name="ArrayOfImpactedPoint">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="ImpactedPoint" nillable="true" type="tns:ImpactedPoint" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="ImpactedPoint">
    <xs:attribute name="BuildUri" type="xs:string" />
    <xs:attribute name="TestCaseId" type="xs:int" use="required" />
    <xs:attribute name="PointId" type="xs:int" use="required" />
    <xs:attribute name="Confidence" type="xs:unsignedByte" use="required" />
    <xs:attribute name="State" type="xs:unsignedByte" use="required" />
    <xs:attribute name="SuiteName" type="xs:string" />
  </xs:complexType>
  <xs:element name="BlockTestPoints">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" maxOccurs="1" name="points" type="tns:ArrayOfTestPoint" />
        <xs:element minOccurs="0" maxOccurs="1" name="projectName" type="xs:string" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:complexType name="ArrayOfTestPoint">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="TestPoint" nillable="true" type="tns:TestPoint" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="TestPoint">
    <xs:attribute name="PointId" type="xs:int" use="required" />
    <xs:attribute name="State" type="xs:unsignedByte" use="required" />
    <xs:attribute name="FailureType" type="xs:unsignedByte" use="required" />
    <xs:attribute name="PlanId" type="xs:int" use="required" />
    <xs:attribute name="SuiteId" type="xs:int" use="required" />
    <xs:attribute name="ConfigurationId" type="xs:int" use="required" />
    <xs:attribute name="ConfigurationName" type="xs:string" />
    <xs:attribute name="LastTestRunId" type="xs:int" use="required" />
    <xs:attribute name="LastTestResultId" type="xs:int" use="required" />
    <xs:attribute name="LastResultState" type="xs:unsignedByte" use="required" />
    <xs:attribute name="LastResultOutcome" type="xs:unsignedByte" use="required" />
    <xs:attribute name="LastResolutionStateId" type="xs:int" use="required" />
    <xs:attribute name="TestCaseId" type="xs:int" use="required" />
    <xs:attribute name="Comment" type="xs:string" />
    <xs:attribute xmlns:q28="http://microsoft.com/wsdl/types/" name="LastUpdatedBy" type="q28:guid" use="required" />
    <xs:attribute default="0001-01-01T00:00:00" name="LastUpdated" type="xs:dateTime" />
    <xs:attribute xmlns:q29="http://microsoft.com/wsdl/types/" name="AssignedTo" type="q29:guid" use="required" />
    <xs:attribute default="0" name="Revision" type="xs:int" />
  </xs:complexType>
  <xs:element name="BlockTestPointsResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" maxOccurs="1" name="BlockTestPointsResult" type="tns:ArrayOfBlockedPointProperties" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:complexType name="ArrayOfBlockedPointProperties">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="BlockedPointProperties" nillable="true" type="tns:BlockedPointProperties" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="BlockedPointProperties">
    <xs:complexContent mixed="false">
      <xs:extension base="tns:UpdatedProperties">
        <xs:attribute name="LastTestRunId" type="xs:int" use="required" />
        <xs:attribute name="LastTestResultId" type="xs:int" use="required" />
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element name="CreateTestPlan">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" maxOccurs="1" name="testPlan" type="tns:TestPlan" />
        <xs:element minOccurs="0" maxOccurs="1" name="teamProjectName" type="xs:string" />
        <xs:element minOccurs="0" maxOccurs="1" name="links" type="tns:ArrayOfTestExternalLink" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:complexType name="TestPlan">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="1" name="Description" type="xs:string" />
    </xs:sequence>
    <xs:attribute name="PlanId" type="xs:int" use="required" />
    <xs:attribute name="Name" type="xs:string" />
    <xs:attribute xmlns:q30="http://microsoft.com/wsdl/types/" name="Owner" type="q30:guid" use="required" />
    <xs:attribute name="State" type="xs:unsignedByte" use="required" />
    <xs:attribute name="StartDate" type="xs:date" use="required" />
    <xs:attribute name="EndDate" type="xs:date" use="required" />
    <xs:attribute name="AreaPath" type="xs:string" />
    <xs:attribute name="Iteration" type="xs:string" />
    <xs:attribute default="0" name="TestSettingsId" type="xs:int" />
    <xs:attribute default="0" name="AutomatedTestSettingsId" type="xs:int" />
    <xs:attribute xmlns:q31="http://microsoft.com/wsdl/types/" name="ManualTestEnvironmentId" type="q31:guid" use="required" />
    <xs:attribute xmlns:q32="http://microsoft.com/wsdl/types/" name="AutomatedTestEnvironmentId" type="q32:guid" use="required" />
    <xs:attribute xmlns:q33="http://microsoft.com/wsdl/types/" name="LastUpdatedBy" type="q33:guid" use="required" />
    <xs:attribute default="0001-01-01T00:00:00" name="LastUpdated" type="xs:dateTime" />
    <xs:attribute name="RootSuiteId" type="xs:int" use="required" />
    <xs:attribute name="Revision" type="xs:int" use="required" />
    <xs:attribute name="BuildDefinition" type="xs:string" />
    <xs:attribute name="BuildQuality" type="xs:string" />
    <xs:attribute name="BuildUri" type="xs:string" />
    <xs:attribute name="PreviousBuildUri" type="xs:string" />
    <xs:attribute name="BuildTakenDate" type="xs:dateTime" use="required" />
  </xs:complexType>
  <xs:complexType name="ArrayOfTestExternalLink">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="TestExternalLink" nillable="true" type="tns:TestExternalLink" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="TestExternalLink">
    <xs:attribute name="LinkId" type="xs:int" use="required" />
    <xs:attribute name="Uri" type="xs:string" />
    <xs:attribute name="Description" type="xs:string" />
  </xs:complexType>
  <xs:element name="CreateTestPlanResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" maxOccurs="1" name="CreateTestPlanResult" type="tns:TestPlan" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="DeleteTestPlan">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="1" maxOccurs="1" name="testPlanId" type="xs:int" />
        <xs:element minOccurs="0" maxOccurs="1" name="projectName" type="xs:string" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="DeleteTestPlanResponse">
    <xs:complexType />
  </xs:element>
  <xs:element name="FetchTestPlans">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" maxOccurs="1" name="idsToFetch" type="tns:ArrayOfIdAndRev" />
        <xs:element minOccurs="0" maxOccurs="1" name="projectName" type="xs:string" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:complexType name="ArrayOfIdAndRev">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="IdAndRev" nillable="true" type="tns:IdAndRev" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="IdAndRev">
    <xs:attribute name="Id" type="xs:int" use="required" />
    <xs:attribute name="Revision" type="xs:int" use="required" />
  </xs:complexType>
  <xs:element name="FetchTestPlansResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" maxOccurs="1" name="FetchTestPlansResult" type="tns:ArrayOfTestPlan" />
        <xs:element minOccurs="0" maxOccurs="1" name="deletedIds" type="tns:ArrayOfInt" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:complexType name="ArrayOfTestPlan">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="TestPlan" nillable="true" type="tns:TestPlan" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="FetchTestPoints">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" maxOccurs="1" name="projectName" type="xs:string" />
        <xs:element minOccurs="1" maxOccurs="1" name="planId" type="xs:int" />
        <xs:element minOccurs="0" maxOccurs="1" name="idsToFetch" type="tns:ArrayOfIdAndRev" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="FetchTestPointsResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" maxOccurs="1" name="FetchTestPointsResult" type="tns:ArrayOfTestPoint" />
        <xs:element minOccurs="0" maxOccurs="1" name="deletedIds" type="tns:ArrayOfInt" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="QuerySuitePointCounts">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="1" maxOccurs="1" name="planId" type="xs:int" />
        <xs:element minOccurs="0" maxOccurs="1" name="query" type="tns:ResultsStoreQuery" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="QuerySuitePointCountsResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" maxOccurs="1" name="QuerySuitePointCountsResult" type="tns:ArrayOfSuitePointCount" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:complexType name="ArrayOfSuitePointCount">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="SuitePointCount" nillable="true" type="tns:SuitePointCount" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="SuitePointCount">
    <xs:attribute name="SuiteId" type="xs:int" use="required" />
    <xs:attribute default="0" name="PointCount" type="xs:int" />
  </xs:complexType>
  <xs:element name="QueryTestCases">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" maxOccurs="1" name="queryText" type="xs:string" />
        <xs:element minOccurs="1" maxOccurs="1" name="inPlans" type="xs:boolean" />
        <xs:element minOccurs="0" maxOccurs="1" name="teamProjectName" type="xs:string" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="QueryTestCasesResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" maxOccurs="1" name="QueryTestCasesResult" type="tns:ArrayOfInt" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="QueryTestPlans">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" maxOccurs="1" name="query" type="tns:ResultsStoreQuery" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="QueryTestPlansResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" maxOccurs="1" name="QueryTestPlansResult" type="tns:ArrayOfSkinnyPlan" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:complexType name="ArrayOfSkinnyPlan">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="SkinnyPlan" nillable="true" type="tns:SkinnyPlan" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="SkinnyPlan">
    <xs:sequence>
      <xs:element minOccurs="1" maxOccurs="1" name="Id" type="xs:int" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="QueryTestPlanLinks">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" maxOccurs="1" name="projectName" type="xs:string" />
        <xs:element minOccurs="1" maxOccurs="1" name="planId" type="xs:int" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="QueryTestPlanLinksResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" maxOccurs="1" name="QueryTestPlanLinksResult" type="tns:ArrayOfTestExternalLink" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="QueryTestPoints">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="1" maxOccurs="1" name="planId" type="xs:int" />
        <xs:element minOccurs="0" maxOccurs="1" name="query" type="tns:ResultsStoreQuery" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="QueryTestPointsResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" maxOccurs="1" name="QueryTestPointsResult" type="tns:ArrayOfTestPoint" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="QueryTestPointStatistics">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="1" maxOccurs="1" name="planId" type="xs:int" />
        <xs:element minOccurs="0" maxOccurs="1" name="query" type="tns:ResultsStoreQuery" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="QueryTestPointStatisticsResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" maxOccurs="1" name="QueryTestPointStatisticsResult" type="tns:ArrayOfTestPointStatistic" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:complexType name="ArrayOfTestPointStatistic">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="TestPointStatistic" nillable="true" type="tns:TestPointStatistic" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="TestPointStatistic">
    <xs:attribute name="TestPointState" type="xs:unsignedByte" use="required" />
    <xs:attribute name="ResultState" type="xs:unsignedByte" use="required" />
    <xs:attribute name="ResultOutcome" type="xs:unsignedByte" use="required" />
    <xs:attribute name="FailureType" type="xs:unsignedByte" use="required" />
    <xs:attribute name="ResolutionStateId" type="xs:int" use="required" />
    <xs:attribute name="Count" type="xs:int" use="required" />
  </xs:complexType>
  <xs:element name="QueryTestPointHistory">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="1" maxOccurs="1" name="testPointId" type="xs:int" />
        <xs:element minOccurs="1" maxOccurs="1" name="planId" type="xs:int" />
        <xs:element minOccurs="0" maxOccurs="1" name="projectName" type="xs:string" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="QueryTestPointHistoryResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" maxOccurs="1" name="QueryTestPointHistoryResult" type="tns:ArrayOfTestPoint" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="UpdateTestPlan">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" maxOccurs="1" name="testPlan" type="tns:TestPlan" />
        <xs:element minOccurs="0" maxOccurs="1" name="projectName" type="xs:string" />
        <xs:element minOccurs="0" maxOccurs="1" name="changedLinks" type="tns:ArrayOfTestExternalLink" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="UpdateTestPlanResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" maxOccurs="1" name="UpdateTestPlanResult" type="tns:TestPlan" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="UpdateTestPoints">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" maxOccurs="1" name="points" type="tns:ArrayOfTestPoint" />
        <xs:element minOccurs="0" maxOccurs="1" name="projectName" type="xs:string" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="UpdateTestPointsResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" maxOccurs="1" name="UpdateTestPointsResult" type="tns:ArrayOfUpdatedProperties" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:complexType name="ArrayOfUpdatedProperties">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="UpdatedProperties" nillable="true" type="tns:UpdatedProperties" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="AddCasesToSuite">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" maxOccurs="1" name="parent" type="tns:IdAndRev" />
        <xs:element minOccurs="0" maxOccurs="1" name="testCases" type="tns:ArrayOfTestCaseAndOwner" />
        <xs:element minOccurs="1" maxOccurs="1" name="toIndex" type="xs:int" />
        <xs:element minOccurs="0" maxOccurs="1" name="projectName" type="xs:string" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:complexType name="ArrayOfTestCaseAndOwner">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="TestCaseAndOwner" nillable="true" type="tns:TestCaseAndOwner" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="TestCaseAndOwner">
    <xs:attribute name="Id" type="xs:int" use="required" />
    <xs:attribute xmlns:q34="http://microsoft.com/wsdl/types/" name="Owner" type="q34:guid" use="required" />
  </xs:complexType>
  <xs:element name="AddCasesToSuiteResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" maxOccurs="1" name="AddCasesToSuiteResult" type="tns:UpdatedProperties" />
        <xs:element minOccurs="0" maxOccurs="1" name="configurationIds" type="tns:ArrayOfInt" />
        <xs:element minOccurs="0" maxOccurs="1" name="configurationNames" type="tns:ArrayOfString" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="AddSuiteToSuite">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" maxOccurs="1" name="parent" type="tns:IdAndRev" />
        <xs:element minOccurs="0" maxOccurs="1" name="suite" type="tns:ServerTestSuite" />
        <xs:element minOccurs="0" maxOccurs="1" name="teamProjectName" type="xs:string" />
        <xs:element minOccurs="1" maxOccurs="1" name="toIndex" type="xs:int" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:complexType name="ServerTestSuite">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="1" name="ServerEntries" type="tns:ArrayOfTestSuiteEntry" />
      <xs:element minOccurs="0" maxOccurs="1" name="DefaultConfigurations" type="tns:ArrayOfInt" />
      <xs:element minOccurs="0" maxOccurs="1" name="DefaultConfigurationNames" type="tns:ArrayOfString" />
    </xs:sequence>
    <xs:attribute name="Id" type="xs:int" use="required" />
    <xs:attribute name="PlanId" type="xs:int" use="required" />
    <xs:attribute name="ParentId" type="xs:int" use="required" />
    <xs:attribute name="Title" type="xs:string" />
    <xs:attribute name="Description" type="xs:string" />
    <xs:attribute name="QueryString" type="xs:string" />
    <xs:attribute name="RequirementId" type="xs:int" use="required" />
    <xs:attribute name="Revision" type="xs:int" use="required" />
    <xs:attribute name="SuiteType" type="xs:unsignedByte" use="required" />
    <xs:attribute name="InheritDefaultConfigurations" type="xs:boolean" use="required" />
    <xs:attribute name="LastPopulated" type="xs:dateTime" use="required" />
    <xs:attribute name="LastError" type="xs:string" />
    <xs:attribute name="State" type="xs:unsignedByte" use="required" />
    <xs:attribute xmlns:q35="http://microsoft.com/wsdl/types/" name="LastUpdatedBy" type="q35:guid" use="required" />
    <xs:attribute default="0001-01-01T00:00:00" name="LastUpdated" type="xs:dateTime" />
  </xs:complexType>
  <xs:complexType name="ArrayOfTestSuiteEntry">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="TestSuiteEntry" nillable="true" type="tns:TestSuiteEntry" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="TestSuiteEntry">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="1" name="PointAssignments" type="tns:ArrayOfTestPointAssignment" />
    </xs:sequence>
    <xs:attribute name="EntryId" type="xs:int" use="required" />
    <xs:attribute default="1" name="EntryType" type="xs:unsignedByte" />
  </xs:complexType>
  <xs:complexType name="ArrayOfTestPointAssignment">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="TestPointAssignment" nillable="true" type="tns:TestPointAssignment" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="TestPointAssignment">
    <xs:attribute name="TestCaseId" type="xs:int" use="required" />
    <xs:attribute name="ConfigurationId" type="xs:int" use="required" />
    <xs:attribute name="ConfigurationName" type="xs:string" />
    <xs:attribute xmlns:q36="http://microsoft.com/wsdl/types/" name="AssignedTo" type="q36:guid" use="required" />
  </xs:complexType>
  <xs:element name="AddSuiteToSuiteResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" maxOccurs="1" name="AddSuiteToSuiteResult" type="tns:UpdatedProperties" />
        <xs:element minOccurs="0" maxOccurs="1" name="newSuiteProperties" type="tns:UpdatedProperties" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="CopyTestSuiteEntries">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" maxOccurs="1" name="teamProjectName" type="xs:string" />
        <xs:element minOccurs="0" maxOccurs="1" name="fromSuiteId" type="tns:IdAndRev" />
        <xs:element minOccurs="0" maxOccurs="1" name="entries" type="tns:ArrayOfTestSuiteEntry" />
        <xs:element minOccurs="0" maxOccurs="1" name="toSuiteId" type="tns:IdAndRev" />
        <xs:element minOccurs="1" maxOccurs="1" name="toIndex" type="xs:int" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="CopyTestSuiteEntriesResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="1" maxOccurs="1" name="CopyTestSuiteEntriesResult" type="xs:int" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="DeleteTestSuiteEntries">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" maxOccurs="1" name="parentSuiteId" type="tns:IdAndRev" />
        <xs:element minOccurs="0" maxOccurs="1" name="entries" type="tns:ArrayOfTestSuiteEntry" />
        <xs:element minOccurs="0" maxOccurs="1" name="projectName" type="xs:string" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="DeleteTestSuiteEntriesResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" maxOccurs="1" name="DeleteTestSuiteEntriesResult" type="tns:UpdatedProperties" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="FetchTestSuites">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" maxOccurs="1" name="teamProjectName" type="xs:string" />
        <xs:element minOccurs="0" maxOccurs="1" name="suiteIds" type="tns:ArrayOfIdAndRev" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="FetchTestSuitesResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" maxOccurs="1" name="FetchTestSuitesResult" type="tns:ArrayOfServerTestSuite" />
        <xs:element minOccurs="0" maxOccurs="1" name="deletedIds" type="tns:ArrayOfInt" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:complexType name="ArrayOfServerTestSuite">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="ServerTestSuite" nillable="true" type="tns:ServerTestSuite" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="MoveTestSuiteEntries">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" maxOccurs="1" name="teamProjectName" type="xs:string" />
        <xs:element minOccurs="0" maxOccurs="1" name="fromSuiteId" type="tns:IdAndRev" />
        <xs:element minOccurs="0" maxOccurs="1" name="entries" type="tns:ArrayOfTestSuiteEntry" />
        <xs:element minOccurs="0" maxOccurs="1" name="toSuiteId" type="tns:IdAndRev" />
        <xs:element minOccurs="1" maxOccurs="1" name="toIndex" type="xs:int" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="MoveTestSuiteEntriesResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" maxOccurs="1" name="MoveTestSuiteEntriesResult" type="tns:UpdatedProperties" />
        <xs:element minOccurs="0" maxOccurs="1" name="newToProps" type="tns:UpdatedProperties" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="QueryTestSuites">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" maxOccurs="1" name="query" type="tns:ResultsStoreQuery" />
        <xs:element minOccurs="1" maxOccurs="1" name="pageSize" type="xs:int" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="QueryTestSuitesResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" maxOccurs="1" name="QueryTestSuitesResult" type="tns:ArrayOfServerTestSuite" />
        <xs:element minOccurs="0" maxOccurs="1" name="excessIds" type="tns:ArrayOfSuiteIdAndType" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:complexType name="ArrayOfSuiteIdAndType">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="SuiteIdAndType" nillable="true" type="tns:SuiteIdAndType" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="SuiteIdAndType">
    <xs:attribute default="0" name="SuiteId" type="xs:int" />
    <xs:attribute default="2" name="SuiteType" type="xs:unsignedByte" />
  </xs:complexType>
  <xs:element name="QueryTestSuitesByTestCaseId">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" maxOccurs="1" name="teamProjectName" type="xs:string" />
        <xs:element minOccurs="1" maxOccurs="1" name="testCaseId" type="xs:int" />
        <xs:element minOccurs="1" maxOccurs="1" name="pageSize" type="xs:int" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="QueryTestSuitesByTestCaseIdResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" maxOccurs="1" name="QueryTestSuitesByTestCaseIdResult" type="tns:ArrayOfServerTestSuite" />
        <xs:element minOccurs="0" maxOccurs="1" name="excessIds" type="tns:ArrayOfSuiteIdAndType" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="RepopulateTestSuite">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" maxOccurs="1" name="teamProjectName" type="xs:string" />
        <xs:element minOccurs="1" maxOccurs="1" name="suiteId" type="xs:int" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="RepopulateTestSuiteResponse">
    <xs:complexType />
  </xs:element>
  <xs:element name="SetSuiteEntryConfigurations">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" maxOccurs="1" name="projectName" type="xs:string" />
        <xs:element minOccurs="0" maxOccurs="1" name="suite" type="tns:IdAndRev" />
        <xs:element minOccurs="0" maxOccurs="1" name="testCases" type="tns:ArrayOfTestCaseAndOwner" />
        <xs:element minOccurs="0" maxOccurs="1" name="configIds" type="tns:ArrayOfInt" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="SetSuiteEntryConfigurationsResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" maxOccurs="1" name="SetSuiteEntryConfigurationsResult" type="tns:UpdatedProperties" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="AssignTestPoints">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" maxOccurs="1" name="projectName" type="xs:string" />
        <xs:element minOccurs="1" maxOccurs="1" name="suiteId" type="xs:int" />
        <xs:element minOccurs="0" maxOccurs="1" name="assignments" type="tns:ArrayOfTestPointAssignment" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="AssignTestPointsResponse">
    <xs:complexType />
  </xs:element>
  <xs:element name="UpdateTestSuite">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" maxOccurs="1" name="testSuite" type="tns:ServerTestSuite" />
        <xs:element minOccurs="0" maxOccurs="1" name="projectName" type="xs:string" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="UpdateTestSuiteResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" maxOccurs="1" name="UpdateTestSuiteResult" type="tns:UpdatedProperties" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="CreateTestResults">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" maxOccurs="1" name="results" type="tns:ArrayOfTestCaseResult" />
        <xs:element minOccurs="0" maxOccurs="1" name="projectName" type="xs:string" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:complexType name="ArrayOfTestCaseResult">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="TestCaseResult" nillable="true" type="tns:TestCaseResult" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="TestCaseResult">
    <xs:complexContent mixed="false">
      <xs:extension base="tns:TestResult">
        <xs:sequence>
          <xs:element minOccurs="1" maxOccurs="1" name="AfnStripId" type="xs:int" />
        </xs:sequence>
        <xs:attribute default="0" name="TestCaseId" type="xs:int" />
        <xs:attribute default="0" name="ConfigurationId" type="xs:int" />
        <xs:attribute name="ConfigurationName" type="xs:string" />
        <xs:attribute default="0" name="TestPointId" type="xs:int" />
        <xs:attribute default="0" name="State" type="xs:unsignedByte" />
        <xs:attribute default="0" name="FailureType" type="xs:unsignedByte" />
        <xs:attribute default="0" name="ResolutionStateId" type="xs:int" />
        <xs:attribute name="ComputerName" type="xs:string" />
        <xs:attribute xmlns:q37="http://microsoft.com/wsdl/types/" name="Owner" type="q37:guid" use="required" />
        <xs:attribute xmlns:q38="http://microsoft.com/wsdl/types/" name="RunBy" type="q38:guid" use="required" />
        <xs:attribute default="255" name="Priority" type="xs:unsignedByte" />
        <xs:attribute name="TestCaseTitle" type="xs:string" />
        <xs:attribute name="TestCaseArea" type="xs:string" />
        <xs:attribute name="TestCaseAreaUri" type="xs:string" />
        <xs:attribute default="0" name="TestCaseRevision" type="xs:int" />
        <xs:attribute name="ResetCount" type="xs:int" use="required" />
        <xs:attribute name="AutomatedTestName" type="xs:string" />
        <xs:attribute name="AutomatedTestStorage" type="xs:string" />
        <xs:attribute name="AutomatedTestType" type="xs:string" />
        <xs:attribute name="AutomatedTestTypeId" type="xs:string" />
        <xs:attribute name="AutomatedTestId" type="xs:string" />
        <xs:attribute name="Revision" type="xs:int" use="required" />
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="TestResult" abstract="true">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="1" name="Id" type="tns:TestCaseResultIdentifier" />
      <xs:element minOccurs="0" maxOccurs="1" name="ErrorMessage" type="xs:string" />
      <xs:element minOccurs="0" maxOccurs="1" name="Comment" type="xs:string" />
    </xs:sequence>
    <xs:attribute default="0001-01-01T00:00:00" name="CreationDate" type="xs:dateTime" />
    <xs:attribute default="0" name="Outcome" type="xs:unsignedByte" />
    <xs:attribute xmlns:q39="http://microsoft.com/wsdl/types/" name="LastUpdatedBy" type="q39:guid" use="required" />
    <xs:attribute default="0001-01-01T00:00:00" name="LastUpdated" type="xs:dateTime" />
    <xs:attribute default="0001-01-01T00:00:00" name="DateStarted" type="xs:dateTime" />
    <xs:attribute default="0001-01-01T00:00:00" name="DateCompleted" type="xs:dateTime" />
    <xs:attribute default="0" name="Duration" type="xs:long" />
  </xs:complexType>
  <xs:element name="CreateTestResultsResponse">
    <xs:complexType />
  </xs:element>
  <xs:element name="CreateTestRun">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" maxOccurs="1" name="testRun" type="tns:TestRun" />
        <xs:element minOccurs="0" maxOccurs="1" name="teamProjectName" type="xs:string" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:complexType name="TestRun">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="1" name="ErrorMessage" type="xs:string" />
    </xs:sequence>
    <xs:attribute name="TestRunId" type="xs:int" use="required" />
    <xs:attribute name="Title" type="xs:string" />
    <xs:attribute xmlns:q40="http://microsoft.com/wsdl/types/" name="Owner" type="q40:guid" use="required" />
    <xs:attribute name="State" type="xs:unsignedByte" use="required" />
    <xs:attribute name="BuildUri" type="xs:string" />
    <xs:attribute name="DropLocation" type="xs:string" />
    <xs:attribute name="BuildNumber" type="xs:string" />
    <xs:attribute name="BuildPlatform" type="xs:string" />
    <xs:attribute name="BuildFlavor" type="xs:string" />
    <xs:attribute name="CreationDate" type="xs:dateTime" use="required" />
    <xs:attribute default="0001-01-01T00:00:00" name="LastUpdated" type="xs:dateTime" />
    <xs:attribute name="StartDate" type="xs:dateTime" use="required" />
    <xs:attribute name="CompleteDate" type="xs:dateTime" use="required" />
    <xs:attribute name="PostProcessState" type="xs:unsignedByte" use="required" />
    <xs:attribute name="DueDate" type="xs:dateTime" use="required" />
    <xs:attribute name="Iteration" type="xs:string" />
    <xs:attribute name="Controller" type="xs:string" />
    <xs:attribute name="TeamProject" type="xs:string" />
    <xs:attribute name="TestPlanId" type="xs:int" use="required" />
    <xs:attribute name="BuildConfigurationId" type="xs:int" use="required" />
    <xs:attribute default="0" name="TestSettingsId" type="xs:int" />
    <xs:attribute default="0" name="PublicTestSettingsId" type="xs:int" />
    <xs:attribute xmlns:q41="http://microsoft.com/wsdl/types/" name="TestEnvironmentId" type="q41:guid" use="required" />
    <xs:attribute name="Revision" type="xs:int" use="required" />
    <xs:attribute name="TestMessageLogId" type="xs:int" use="required" />
    <xs:attribute name="LegacySharePath" type="xs:string" />
    <xs:attribute xmlns:q42="http://microsoft.com/wsdl/types/" name="LastUpdatedBy" type="q42:guid" use="required" />
    <xs:attribute name="Type" type="xs:unsignedByte" use="required" />
    <xs:attribute name="IsAutomated" type="xs:boolean" use="required" />
    <xs:attribute name="Version" type="xs:int" use="required" />
    <xs:attribute name="IsBvt" type="xs:boolean" use="required" />
    <xs:attribute name="Comment" type="xs:string" />
  </xs:complexType>
  <xs:element name="CreateTestRunResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" maxOccurs="1" name="CreateTestRunResult" type="tns:TestRun" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="AbortTestRun">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="1" maxOccurs="1" name="testRunId" type="xs:int" />
        <xs:element minOccurs="1" maxOccurs="1" name="revision" type="xs:int" />
        <xs:element minOccurs="0" maxOccurs="1" name="projectName" type="xs:string" />
        <xs:element minOccurs="1" maxOccurs="1" name="options" type="xs:int" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="AbortTestRunResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" maxOccurs="1" name="AbortTestRunResult" type="tns:UpdatedProperties" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="DeleteTestRun">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="1" maxOccurs="1" name="testRunId" type="xs:int" />
        <xs:element minOccurs="0" maxOccurs="1" name="projectName" type="xs:string" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="DeleteTestRunResponse">
    <xs:complexType />
  </xs:element>
  <xs:element name="DeleteTestRuns">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" maxOccurs="1" name="testRunIds" type="tns:ArrayOfInt" />
        <xs:element minOccurs="0" maxOccurs="1" name="projectName" type="xs:string" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="DeleteTestRunsResponse">
    <xs:complexType />
  </xs:element>
  <xs:element name="QueryBuildConfigurationById">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="1" maxOccurs="1" name="buildConfigurationId" type="xs:int" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="QueryBuildConfigurationByIdResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" maxOccurs="1" name="QueryBuildConfigurationByIdResult" type="tns:BuildConfiguration" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="QueryTestActionResults">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" maxOccurs="1" name="identifier" type="tns:TestCaseResultIdentifier" />
        <xs:element minOccurs="0" maxOccurs="1" name="projectName" type="xs:string" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="QueryTestActionResultsResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" maxOccurs="1" name="QueryTestActionResultsResult" type="tns:ArrayOfTestActionResult" />
        <xs:element minOccurs="0" maxOccurs="1" name="parameters" type="tns:ArrayOfTestResultParameter" />
        <xs:element minOccurs="0" maxOccurs="1" name="attachments" type="tns:ArrayOfTestResultAttachment" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:complexType name="ArrayOfTestActionResult">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="TestActionResult" nillable="true" type="tns:TestActionResult" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="TestActionResult">
    <xs:complexContent mixed="false">
      <xs:extension base="tns:TestResult">
        <xs:attribute name="ActionPath" type="xs:string" />
        <xs:attribute default="0" name="SetId" type="xs:int" />
        <xs:attribute default="0" name="IterationId" type="xs:int" />
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="SharedStepResult">
    <xs:complexContent mixed="false">
      <xs:extension base="tns:TestActionResult" />
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="TestStepResult">
    <xs:complexContent mixed="false">
      <xs:extension base="tns:TestActionResult" />
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="TestIterationResult">
    <xs:complexContent mixed="false">
      <xs:extension base="tns:TestActionResult" />
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="ArrayOfTestResultParameter">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="TestResultParameter" nillable="true" type="tns:TestResultParameter" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="TestResultParameter">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="1" name="Expected" type="xs:base64Binary" />
      <xs:element minOccurs="0" maxOccurs="1" name="Actual" type="xs:base64Binary" />
    </xs:sequence>
    <xs:attribute name="TestRunId" type="xs:int" use="required" />
    <xs:attribute name="TestResultId" type="xs:int" use="required" />
    <xs:attribute default="0" name="IterationId" type="xs:int" />
    <xs:attribute name="ActionPath" type="xs:string" />
    <xs:attribute name="ParameterName" type="xs:string" />
    <xs:attribute default="0" name="DataType" type="xs:unsignedByte" />
  </xs:complexType>
  <xs:element name="FindTestResultInMultipleProjects">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="1" maxOccurs="1" name="testRunId" type="xs:int" />
        <xs:element minOccurs="1" maxOccurs="1" name="testResultId" type="xs:int" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="FindTestResultInMultipleProjectsResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" maxOccurs="1" name="FindTestResultInMultipleProjectsResult" type="tns:TestCaseResult" />
        <xs:element minOccurs="0" maxOccurs="1" name="projectName" type="xs:string" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="QueryTestResults">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" maxOccurs="1" name="query" type="tns:ResultsStoreQuery" />
        <xs:element minOccurs="1" maxOccurs="1" name="pageSize" type="xs:int" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="QueryTestResultsResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" maxOccurs="1" name="QueryTestResultsResult" type="tns:ArrayOfTestCaseResult" />
        <xs:element minOccurs="0" maxOccurs="1" name="excessIds" type="tns:ArrayOfTestCaseResultIdentifier" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:complexType name="ArrayOfTestCaseResultIdentifier">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="TestCaseResultIdentifier" nillable="true" type="tns:TestCaseResultIdentifier" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="FetchTestResults">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" maxOccurs="1" name="idsToFetch" type="tns:ArrayOfTestCaseResultIdAndRev" />
        <xs:element minOccurs="0" maxOccurs="1" name="projectName" type="xs:string" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:complexType name="ArrayOfTestCaseResultIdAndRev">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="TestCaseResultIdAndRev" nillable="true" type="tns:TestCaseResultIdAndRev" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="TestCaseResultIdAndRev">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="1" name="Id" type="tns:TestCaseResultIdentifier" />
    </xs:sequence>
    <xs:attribute name="Revision" type="xs:int" use="required" />
  </xs:complexType>
  <xs:element name="FetchTestResultsResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" maxOccurs="1" name="FetchTestResultsResult" type="tns:ArrayOfTestCaseResult" />
        <xs:element minOccurs="0" maxOccurs="1" name="deletedIds" type="tns:ArrayOfTestCaseResultIdentifier" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="QueryTestResultsByRun">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="1" maxOccurs="1" name="testRunId" type="xs:int" />
        <xs:element minOccurs="1" maxOccurs="1" name="pageSize" type="xs:int" />
        <xs:element minOccurs="0" maxOccurs="1" name="projectName" type="xs:string" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="QueryTestResultsByRunResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" maxOccurs="1" name="QueryTestResultsByRunResult" type="tns:ArrayOfTestCaseResult" />
        <xs:element minOccurs="0" maxOccurs="1" name="excessIds" type="tns:ArrayOfTestCaseResultIdentifier" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="QueryTestResultsByPoint">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" maxOccurs="1" name="projectName" type="xs:string" />
        <xs:element minOccurs="1" maxOccurs="1" name="planId" type="xs:int" />
        <xs:element minOccurs="1" maxOccurs="1" name="pointId" type="xs:int" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="QueryTestResultsByPointResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" maxOccurs="1" name="QueryTestResultsByPointResult" type="tns:ArrayOfTestCaseResult" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="QueryTestResultsByRunAndOwner">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="1" maxOccurs="1" name="testRunId" type="xs:int" />
        <xs:element xmlns:q43="http://microsoft.com/wsdl/types/" minOccurs="1" maxOccurs="1" name="owner" type="q43:guid" />
        <xs:element minOccurs="1" maxOccurs="1" name="pageSize" type="xs:int" />
        <xs:element minOccurs="0" maxOccurs="1" name="projectName" type="xs:string" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="QueryTestResultsByRunAndOwnerResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" maxOccurs="1" name="QueryTestResultsByRunAndOwnerResult" type="tns:ArrayOfTestCaseResult" />
        <xs:element minOccurs="0" maxOccurs="1" name="excessIds" type="tns:ArrayOfTestCaseResultIdentifier" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="QueryTestResultsByRunAndState">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="1" maxOccurs="1" name="testRunId" type="xs:int" />
        <xs:element minOccurs="1" maxOccurs="1" name="state" type="xs:unsignedByte" />
        <xs:element minOccurs="1" maxOccurs="1" name="pageSize" type="xs:int" />
        <xs:element minOccurs="0" maxOccurs="1" name="projectName" type="xs:string" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="QueryTestResultsByRunAndStateResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" maxOccurs="1" name="QueryTestResultsByRunAndStateResult" type="tns:ArrayOfTestCaseResult" />
        <xs:element minOccurs="0" maxOccurs="1" name="excessIds" type="tns:ArrayOfTestCaseResultIdentifier" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="QueryTestResultsByRunAndOutcome">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="1" maxOccurs="1" name="testRunId" type="xs:int" />
        <xs:element minOccurs="1" maxOccurs="1" name="outcome" type="xs:unsignedByte" />
        <xs:element minOccurs="1" maxOccurs="1" name="pageSize" type="xs:int" />
        <xs:element minOccurs="0" maxOccurs="1" name="projectName" type="xs:string" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="QueryTestResultsByRunAndOutcomeResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" maxOccurs="1" name="QueryTestResultsByRunAndOutcomeResult" type="tns:ArrayOfTestCaseResult" />
        <xs:element minOccurs="0" maxOccurs="1" name="excessIds" type="tns:ArrayOfTestCaseResultIdentifier" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="QueryTestRuns">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" maxOccurs="1" name="query" type="tns:ResultsStoreQuery" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="QueryTestRunsResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" maxOccurs="1" name="QueryTestRunsResult" type="tns:ArrayOfTestRun" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:complexType name="ArrayOfTestRun">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="TestRun" nillable="true" type="tns:TestRun" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="QueryTestRunsInMultipleProjects">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" maxOccurs="1" name="query" type="tns:ResultsStoreQuery" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="QueryTestRunsInMultipleProjectsResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" maxOccurs="1" name="QueryTestRunsInMultipleProjectsResult" type="tns:ArrayOfTestRun" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="QueryTestRunsCount">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" maxOccurs="1" name="query" type="tns:ResultsStoreQuery" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="QueryTestRunsCountResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="1" maxOccurs="1" name="QueryTestRunsCountResult" type="xs:int" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="QueryTestRunsById">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" maxOccurs="1" name="teamProjectName" type="xs:string" />
        <xs:element minOccurs="1" maxOccurs="1" name="testRunId" type="xs:int" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="QueryTestRunsByIdResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" maxOccurs="1" name="QueryTestRunsByIdResult" type="tns:ArrayOfTestRun" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="QueryTestRunsByBuild">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" maxOccurs="1" name="teamProjectName" type="xs:string" />
        <xs:element minOccurs="0" maxOccurs="1" name="buildUri" type="xs:string" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="QueryTestRunsByBuildResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" maxOccurs="1" name="QueryTestRunsByBuildResult" type="tns:ArrayOfTestRun" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="QueryTestRunsByOwner">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" maxOccurs="1" name="teamProjectName" type="xs:string" />
        <xs:element xmlns:q44="http://microsoft.com/wsdl/types/" minOccurs="1" maxOccurs="1" name="owner" type="q44:guid" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="QueryTestRunsByOwnerResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" maxOccurs="1" name="QueryTestRunsByOwnerResult" type="tns:ArrayOfTestRun" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="QueryTestRunByTmiRunId">
    <xs:complexType>
      <xs:sequence>
        <xs:element xmlns:q45="http://microsoft.com/wsdl/types/" minOccurs="1" maxOccurs="1" name="tmiRunId" type="q45:guid" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="QueryTestRunByTmiRunIdResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" maxOccurs="1" name="QueryTestRunByTmiRunIdResult" type="tns:TestRun" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="QueryTestRunStatistics">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" maxOccurs="1" name="projectName" type="xs:string" />
        <xs:element minOccurs="1" maxOccurs="1" name="testRunId" type="xs:int" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="QueryTestRunStatisticsResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" maxOccurs="1" name="QueryTestRunStatisticsResult" type="tns:ArrayOfTestRunStatistic" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:complexType name="ArrayOfTestRunStatistic">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="TestRunStatistic" nillable="true" type="tns:TestRunStatistic" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="TestRunStatistic">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="1" name="ResolutionState" type="tns:TestResolutionState" />
    </xs:sequence>
    <xs:attribute name="State" type="xs:unsignedByte" use="required" />
    <xs:attribute name="Outcome" type="xs:unsignedByte" use="required" />
    <xs:attribute name="Count" type="xs:int" use="required" />
  </xs:complexType>
  <xs:element name="ResetTestResults">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" maxOccurs="1" name="identifiers" type="tns:ArrayOfTestCaseResultIdentifier" />
        <xs:element minOccurs="0" maxOccurs="1" name="projectName" type="xs:string" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="ResetTestResultsResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" maxOccurs="1" name="ResetTestResultsResult" type="tns:ArrayOfTestCaseResult" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="UpdateTestResults">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" maxOccurs="1" name="requests" type="tns:ArrayOfResultUpdateRequest" />
        <xs:element minOccurs="0" maxOccurs="1" name="projectName" type="xs:string" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:complexType name="ArrayOfResultUpdateRequest">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="ResultUpdateRequest" nillable="true" type="tns:ResultUpdateRequest" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="ResultUpdateRequest">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="1" name="TestCaseResult" type="tns:TestCaseResult" />
      <xs:element minOccurs="0" maxOccurs="1" name="ActionResults" type="tns:ArrayOfTestActionResult" />
      <xs:element minOccurs="0" maxOccurs="1" name="ActionResultDeletes" type="tns:ArrayOfTestActionResult" />
      <xs:element minOccurs="0" maxOccurs="1" name="Parameters" type="tns:ArrayOfTestResultParameter" />
      <xs:element minOccurs="0" maxOccurs="1" name="ParameterDeletes" type="tns:ArrayOfTestResultParameter" />
      <xs:element minOccurs="0" maxOccurs="1" name="Attachments" type="tns:ArrayOfTestResultAttachment" />
      <xs:element minOccurs="0" maxOccurs="1" name="AttachmentDeletes" type="tns:ArrayOfTestResultAttachmentIdentity" />
    </xs:sequence>
    <xs:attribute name="TestRunId" type="xs:int" use="required" />
    <xs:attribute name="TestResultId" type="xs:int" use="required" />
  </xs:complexType>
  <xs:complexType name="ArrayOfTestResultAttachmentIdentity">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="TestResultAttachmentIdentity" nillable="true" type="tns:TestResultAttachmentIdentity" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="TestResultAttachmentIdentity">
    <xs:attribute default="0" name="TestRunId" type="xs:int" />
    <xs:attribute default="0" name="TestResultId" type="xs:int" />
    <xs:attribute name="AttachmentId" type="xs:int" use="required" />
  </xs:complexType>
  <xs:element name="UpdateTestResultsResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" maxOccurs="1" name="UpdateTestResultsResult" type="tns:ArrayOfResultUpdateResponse" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:complexType name="ArrayOfResultUpdateResponse">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="ResultUpdateResponse" nillable="true" type="tns:ResultUpdateResponse" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="ResultUpdateResponse">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="1" name="AttachmentIds" type="tns:ArrayOfInt" />
    </xs:sequence>
    <xs:attribute name="Revision" type="xs:int" use="required" />
    <xs:attribute default="0001-01-01T00:00:00" name="LastUpdated" type="xs:dateTime" />
    <xs:attribute xmlns:q46="http://microsoft.com/wsdl/types/" name="LastUpdatedBy" type="q46:guid" use="required" />
  </xs:complexType>
  <xs:element name="UpdateTestRun">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" maxOccurs="1" name="testRun" type="tns:TestRun" />
        <xs:element minOccurs="0" maxOccurs="1" name="attachments" type="tns:ArrayOfTestResultAttachment" />
        <xs:element minOccurs="0" maxOccurs="1" name="attachmentDeletes" type="tns:ArrayOfTestResultAttachmentIdentity" />
        <xs:element minOccurs="0" maxOccurs="1" name="projectName" type="xs:string" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="UpdateTestRunResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" maxOccurs="1" name="UpdateTestRunResult" type="tns:UpdatedProperties" />
        <xs:element minOccurs="0" maxOccurs="1" name="attachmentIds" type="tns:ArrayOfInt" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="CreateLogEntriesForRun">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="1" maxOccurs="1" name="testRunId" type="xs:int" />
        <xs:element minOccurs="0" maxOccurs="1" name="logEntries" type="tns:ArrayOfTestMessageLogEntry" />
        <xs:element minOccurs="0" maxOccurs="1" name="projectName" type="xs:string" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:complexType name="ArrayOfTestMessageLogEntry">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="TestMessageLogEntry" nillable="true" type="tns:TestMessageLogEntry" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="TestMessageLogEntry">
    <xs:attribute default="0" name="TestMessageLogId" type="xs:int" />
    <xs:attribute default="0" name="EntryId" type="xs:int" />
    <xs:attribute xmlns:q47="http://microsoft.com/wsdl/types/" name="LogUser" type="q47:guid" use="required" />
    <xs:attribute name="DateCreated" type="xs:dateTime" use="required" />
    <xs:attribute name="LogLevel" type="xs:unsignedByte" use="required" />
    <xs:attribute name="Message" type="xs:string" />
  </xs:complexType>
  <xs:element name="CreateLogEntriesForRunResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" maxOccurs="1" name="CreateLogEntriesForRunResult" type="tns:ArrayOfInt" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="QueryLogEntriesForRun">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="1" maxOccurs="1" name="testRunId" type="xs:int" />
        <xs:element minOccurs="1" maxOccurs="1" name="testMessageLogId" type="xs:int" />
        <xs:element minOccurs="0" maxOccurs="1" name="projectName" type="xs:string" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="QueryLogEntriesForRunResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" maxOccurs="1" name="QueryLogEntriesForRunResult" type="tns:ArrayOfTestMessageLogEntry" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="QueryAssociatedWorkItemsFromResults">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" maxOccurs="1" name="pointIds" type="tns:ArrayOfInt" />
        <xs:element minOccurs="1" maxOccurs="1" name="planId" type="xs:int" />
        <xs:element minOccurs="0" maxOccurs="1" name="projectName" type="xs:string" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="QueryAssociatedWorkItemsFromResultsResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" maxOccurs="1" name="QueryAssociatedWorkItemsFromResultsResult" type="tns:ArrayOfArrayOfInt" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:complexType name="ArrayOfArrayOfInt">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="ArrayOfInt" nillable="true" type="tns:ArrayOfInt" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="CreateAssociatedWorkItems">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" maxOccurs="1" name="identifiers" type="tns:ArrayOfTestCaseResultIdentifier" />
        <xs:element minOccurs="0" maxOccurs="1" name="workItemUris" type="tns:ArrayOfString" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="CreateAssociatedWorkItemsResponse">
    <xs:complexType />
  </xs:element>
  <xs:element name="DeleteAssociatedWorkItems">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" maxOccurs="1" name="identifiers" type="tns:ArrayOfTestCaseResultIdentifier" />
        <xs:element minOccurs="0" maxOccurs="1" name="workItemUris" type="tns:ArrayOfString" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="DeleteAssociatedWorkItemsResponse">
    <xs:complexType />
  </xs:element>
  <xs:element name="SetTestGroupPermissions">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" maxOccurs="1" name="projectName" type="xs:string" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="SetTestGroupPermissionsResponse">
    <xs:complexType />
  </xs:element>
</xs:schema>